package com.food.mapper;

import com.food.model.Food;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface FoodMapper {
    List<Food> findAll();
    Food findById(Integer foodId);
    List<Food> findByCategory(String category);
    List<Food> findByCategories(@Param("categories") List<String> categories);
    List<Food> findByName(String name);
    List<Food> searchByKeyword(String keyword);
    List<Food> findLowCalorieFoods();
    List<Food> findHighProteinFoods();
    List<Food> findBalancedFoods();
    List<Food> findByNutritionNeeds(
        @Param("targetCalories") int targetCalories,
        @Param("targetProtein") double targetProtein,
        @Param("targetCarbs") double targetCarbs,
        @Param("targetFat") double targetFat
    );
    List<String> findUserPreferredCategories(Integer userId);
    List<String> findAllCategories();
} 